<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>06函数</title>
</head>
<body>
<script>
    //JS
    function f1() {
        console.log('你好!星期五!')
    }
    f1();
    f1();
    f1();

    function f2(n) {
        console.log('形参值:' + n);
    }
    f2(666);
    f2('下午好!')
    function f3(a,b){
        console.log(a)
        console.log(b)
        console.log(a+b);
    }
    f3(2,3);//5
    //形参个数大于实参个数,未被赋值的形参值为undefined
    f3(2);//2+undefined=NaN(Not a Number)
    //形参个数小于实参个数,多余的实参值会被舍弃掉
    f3(4,3,5);
    function f4(){
        console.log(arguments);
    }
    f4(40);
    f4(40,50);
    f4(40,50,60);

    //使用return关键字返回方法的结果
    function f5(x,y){
        return x+y;
    }
    console.log(f5(2,3));//直接打印调用结果
    let res=f5(10,10);//将结果保存在变量里
    console.log(res);//打印保存的值

    //第二种函数声明方式
    //变量f6保存了函数的所有的内容,变量名f6相当于函数的名字,可以直接调用
    let f6=function (){
        console.log('第二种');
    }
    f6();
    console.log(f6);
    console.log(typeof f6);

    let f7=new Function("name","age","console.log('方法体');return age;");
    console.log(f7('小明',18));
</script>
</body>
</html>